const errorMap = require('./error')
var pinyin = require("node-pinyin");

const handleSlug = (str = '') => {
    // slugify通常是用于处理英文字符串的，对于中英文混合的字符串，
    // 需要使用一些额外的处理方法
    // 处理中英文混合slug的方法有很多种，以下是一些常用的处理方法:
    // 1. 一种常用的处理方法是使用正则表达式，将中文字符和标点符号进行替换或删除
    // 2. 使用一些第三方库，比如pinyin、chinese-slugify等，这些库可以将中文字符串转换为拼音或拼音首字母，
    // 并加上连字符或下划线,以便更好地处理slug
    let slug = ''
    let pinyin2List = pinyin(str)
    pinyin2List.forEach(item => {
      slug += item.join(' ') + ' '
    })
    slug = slug.trim(' ')
    return slug.replace(/\s+/g, '-')
}

module.exports = {
    showSuccess(data) {
        return {
            code: 0,
            message: 'success',
            data: data,
        }
    },
    // 定义错误码和错误信息
    errorMap,
    // 不需要权限校验的接口
    noAuthenticationApi: [
        {
            url: '/api/tags',
            method: 'GET'
        },
        {
            url: '/api/articles',
            method: 'GET'
        },
        {
            url: '/api/users/login',
            method: 'POST'
        },
        {
            url: '/api/users',
            method: 'POST'
        },
    ],
    handleSlug,
};